iT邦幫忙

0

您可以用 JAVA / Javascript 或任何其他編程語言回答。 a) 請提供一個函數來計算超市產品的合適補貨數量。 例如 產品:可口可樂 當前庫存:100 最大庫存容

  • 分享至 

  • xImage
  •  

計算超市產品的合適補貨數量,需要考慮以下參數:

  • 超市產品的當前庫存

  • 超市產品的最大庫存容量

  • 紙箱數量
    補貨數量必須是“Carton Quantity”的倍數。 如果紙箱數量為 24,補貨數量必須為 24、48、72 等。

  • 補貨門檻
    僅當“當前庫存”低於“補貨閾值”時才會進行補貨。

您可以用 JAVA / Javascript 或任何其他編程語言回答。

a) 請提供一個函數來計算超市產品的合適補貨數量。

例如
產品:可口可樂
當前庫存:100
最大庫存容量:200
紙箱數量:24
補貨門檻:120

預計補貨數量:96

b) 請為 (a) 部分的答案提供單元測試函數。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
冰塊
iT邦新手 5 級 ‧ 2022-04-09 13:47:44

(a)

let fn=(nowitem,maxitem,additem,limititem)=>{
    if(nowitem<limititem){
        let returnitem=0;
        while((returnitem+nowitem+additem)<maxitem){
            returnitem+=additem;
        }
        return returnitem;
    }
    return 0;
}
0
greenriver
iT邦研究生 4 級 ‧ 2022-04-11 11:34:19

最近在練習design patterns,所以試著用design patterns寫看看。
有甚麼地方可以改進,再麻煩指點

//try.js
class Product {
    constructor(name = '', currentInventory = 0) {
        this.name = name,
        this.currentInventory = currentInventory
    }
    setReplenishmentThreshold(replenishmentThreshold = 0) {
        this.replenishmentThreshold = replenishmentThreshold
    }
}
class WareHouse{
    constructor(maxInventoryCapacity=200, numberOfCartons=1){
        this.maxInventoryCapacity = maxInventoryCapacity,
        this.numberOfCartons = numberOfCartons
    }
}
let create = {
    'product': function (name, currentInventory) {
        return new Product(name, currentInventory)
    },
    'warehouse': function (maxInventoryCapacity, numberOfCartons) {
        return new WareHouse(maxInventoryCapacity, numberOfCartons)
    }
}

//suitNumber = function(要進貨的商品、補貨門檻、要進貨的倉庫 )
let suitNumber = function (countProduct, replenishmentThreshold, warehouse) {
    let replenishmentQuantity = 0 //要進貨的數量
    countProduct.setReplenishmentThreshold(replenishmentThreshold)//設定補貨門檻
    if (countProduct.replenishmentThreshold >= countProduct.currentInventory) {
        let multiple = parseInt((warehouse.maxInventoryCapacity - countProduct.currentInventory) / (warehouse.numberOfCartons))
        replenishmentQuantity = multiple * (warehouse.numberOfCartons)
        console.log('multiple',multiple);
    }
    return replenishmentQuantity
} 

export default{
    create,
    suitNumber
}
//try.test.js
import tryjs from './js/try.js';

let cola = tryjs.create.product('可口可樂', 100) //名稱、現在數量
let wareHouse = tryjs.create.warehouse(200, 24) //倉庫的最大值、目前紙箱數量
let suitNumber = tryjs.suitNumber(cola,120,wareHouse)//要進貨的商品、補貨門檻、要進貨的倉庫

test('要進貨的數量 ', () => {
    expect(suitNumber).toBe(96)
})

我要留言

立即登入留言